package org.jacp.demo.services;

import java.util.List;

import org.jacp.demo.entities.Employee;

public interface EmployeeService {
 // create a new employee
    public Employee save(Employee emp);
    
    // removing an employee
    public void delete(Employee emp);

    // update the information on an employee
    public Employee update(Employee emp);

    // find all the employees in the company 
    public List<Employee> findAll();
    
    //  find an employee by the employee number
    public List<Employee> findByEmployeeNumber(String empno);

    // find an employee by his name
    public List<Employee> findByEmployeeLastName(String lastName);

    // find an employees living on a street
    public List<Employee> findByAddressStreetName(String streetName);
    
    // find an employee by the internal unique id
    public Employee findById(long id);
   
    // find employee over a certain salary
    public List<Employee> findEmployeeWithSalaryOver(double sal);
    
    // find employee with a certain commission income
    public List<Employee> findEmployeeWithCommissionOver(double comm);
    
    public List<Employee> findByEmployeeName(String name) ;
}
